home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ultimedia 1
/
Ultimedia 1.iso
/
tools
/
sonstiges
/
fractal
/
fractal.guide
(
.txt
)
< prev
next >
Wrap
Amigaguide Document
|
1994-07-04
|
27KB
|
501 lines
@database Fractal.guide
@node main "Fractal"
Copyright
1994 by Timothy B. Kreuzer. All rights reserved.
Version : 1.3
Author: Tim Kreuzer (and the KreuzerSoft support team)
Language: SAC/C V6.5
@{"Features" link features}
@{"Limitations" link limitations}
@{"Release Notes" link releasenotes}
@{"Notes from the Author" link notesfromtheauthor}
@{"Getting started with Fractal" link gettingstarted}
@{"Getting the most out of Fractal" link gettingthemost}
@{"Fractal starting points" link fractalstartingpoints}
@{"Special Plasma notes" link specialplasmanotes}
@{"Explanation of the Fractal user interface" link explanation}
@{"Icon Tooltypes" link icontooltypes}
@{"Credits" link credits}
@{"Contacting the Author" link contactingtheauthor}
@{"Legal Stuff" link legalstuff}
@{"KreuzerSoft Products" link kreuzersoftproducts}
@endnode
@node features "Features"
Opens on the default public screen (initially the Workbench)
Usable on any screen with at least 2 "free" pens
Avoids usage of all pens already "obtained" upon program start
(i.e., AmigaDOS 3.0 "Protected Pen" compliant)
Separate user interface and drawing windows
Resizable drawing window with point-and-click Zoom-In and
centering functions
Adjustable Zoom-Out function
Contents of drawing window can be saved to a standard IFF/ILBM file
Full GadTools Intuition interface
Supports the following types of fractals:
- Mandelbrot
- Julia Set
- Magnetism
- Lambda Exponential
- Lambda Cosine
- Biomorph
- Plasma
All math done in double precision floating point
Separate versions for:
- 68020 without FPU (stock A1200 and A4000/030)
- 68020 with FPU (improved A1200 and A4000/030)
- 68040 (stock A4000/040)
"Smart" iconify function
Help text (displayed on screen banner) for the Zoom In and Center
actions
Recommended for use with my PaletteTool and PST programs(!)
Tested OK using the Enforcer
@endnode
@node limitations "Limitations"
Can only be used from the Workbench (start via Icon)
Requires AmigaDOS 3.0+ and the AGA chipset
FPU (68881/68882) highly recommended for maximum enjoyment!
Designed for use with higher-resolution screen modes (640x400 and
higher). Note that this does NOT mean the program will not work
on lower-resolution screens. What it DOES mean is that you may
find the programs windows take up a lot of screen "real estate"
on lower-resolution screens
For some reason, the program leaves 104 bytes allocated when it
terminates. I have been unable to ascertain exactly where this
memory is not being freed
@endnode
@node releasenotes "Release Notes"
-----------------
Version 1.3 Notes
-----------------
1) Completely reworked the user interface:
- Moved X-Y Coordinates to a separate window
- Added keyboard equivalents
- Controls window is now smaller than in previous versions
- Auto-redraw no longer happens when the draw window is resized
2) Added the "Plasma" fractal type
3) Added the Save functionality
-----------------
Version 1.2 Notes
-----------------
1) Added a few optimizations which increased rendering speed
The Mandelbrot and Julia fractal types are especially faster than before!
2) Fixed bug where the Draw window's max dimensions were limited to 640x400.
Should now be whatever the default Public Screens dimensions are
3) Reworked entire user interface:
- Added "Pause" button/functionality
- Changed Zoom Out level-selection from slider gadget to cycle gadget
- Added "help text" in screen banner for Draw/Pause/ZoomIn/Center
functions
- Added "smart iconify" ("I" button) functionality for the Controls
window
- Added "About" button/functionality
4) Rendering will now automatically begin upon the following actions:
- Draw window resizing
- Zoom Out button selection
- After picking the "lower right-hand" corner of a Zoom In action
-----------------
Version 1.1 Notes
-----------------
1) Added five new fractal types
2) Added the ability to cancel an in-progress "Draw" via the new "Stop"
button
3) Modified the existing "Center" function so that it operates more
"graphically" (via a cross-hair in the Fractal drawing window)
4) Added more gadget "disabling" during Zoom/Center functions to help
the user not get things confused
5) Slight reworking of the Control window layout
6) Corrected flaw in Control window which kept it from being Iconfied
or Menufied for those like me who use the PD programs bearing the
same names
7) Changed position of the "window resize" gadget in the Fractal drawing
window (MUCH nicer looking now!)
@endnode
@node notesfromtheauthor "Notes from the Author"
I hope you enjoy Fractal, and perhaps enjoyed the previous versions of
this program. Fractal is intended to be different that most other fractal
types of programs - it does not open it's own screen, but relies upon you
(the user) to have the (default Public) screen already setup
This allows Fractal to be used from any potential screen mode, including
those available from the various graphics cards now available
Since many people now have "high color" Workbench screens, you may find
that using Fractal in this environment is sufficient
Remember that Fractal operates on the default Public Screen. There are
many utilities out there that allow you to make certain screens the
default public screen. My personal fave is my own "PST" program, which
allows you to open a Public Screen at any supported resolution/depth, and
to also make that Public Screen the default one
I intentionally did NOT include a color-palette-control within Fractal.
It seems to me that programs that operate on a Public Screen basis should
have a centralized (i.e. separate) palette control (which is exactly
what my PaletteTool program is for)
You should DEFINITELY try and get your hands on my PaletteTool program,
as it greatly simplies the method of setting up the colors on any default
Public Screen
@endnode
@node gettingstarted "Getting started with Fractal"
Just click on the Fractal icon
Fractal will detect the number of "free" pens available on the default
Public Screen (initially the Workbench), and open it's control and drawing
windows on this screen
After both windows open, select the Draw button in the Controls window
The start-up fractal type of Mandelbrot will then be drawn in the
Fractal drawing window
@endnode
@node gettingthemost "Getting the most out of Fractal"
1) Read the documentation!
2) Run Fractal on higher resolution screens to get the most detailed images
Run Fractal on screens with higher "# of colors" to get the most
colorful images
You can adjust the resolution and "# of colors" used by Fractal by:
a) Changing these limits for the Workbench screen (via the ScreenMode
program in your Preferences drawer)
b) Creating a (default) Public Screen of any resolution/depth supported
by your Amiga using my PST (Public Screen Tool) program
The latter option (b) is recommended by the Author
3) Take control of the coloring of your Fractal images
The color pen scheme used by Fractal is identical to that used by
my PaletteTool program (in it's "Protect" palette mode)
PaletteTool can/should be used to "color" your Fractal image
Try using multiple color "spreads" for breathtaking Fractal images
BELIEVE ME - Playing around with the Fractal image's colors can result
in a "blah" looking Fractal coming to life!
4) Use color cycling for truly exciting effects
Starting with V1.1, PaletteTool supports cycling of the Public Screen palette in either direction and allows you to control the speed of
the cycling
5) Use the ability to size/shape the Fractal drawing window to your
advantage!
----------------------------------------------------------------------
Keep the window small while you experiment. Remember that the larger
the window, the longer (in general) it will take to render an image
You can always increase the window size once you've got a image worked
out at a smaller window size
----------------------------------------------------------------------
Also, try wide-and-short and tall-and-thin window sizes for interesting
effects
6) Experiment!
You can always hit the "Pause" and/or "Stop" buttons if your image is
either taking too long to draw or you want to free-up some CPU resources
for other things
If you really get "lost" in an image, you can always Zoom Out to "get
your bearings back"
Keep the Depth value low while you get confortable with a given fractal
type and how it's input values work
Keep the Depth value low if you are using the non-FPU version of Fractal,
so that you get more immediate gratification
Remember that the greater the Depth, the longer (and more detailed)
the Fractal image (usually) will be. Larger Depth values also cause
more colors to be used in the Fractal image
Modify the various parameters SLIGHTLY while you get a feel for how
they are affecting the fractal image. This will help you avoid getting
frustrated
@endnode
@node fractalstartingpoints "Fractal starting points"
1) Mandelbrot
Keep the Depth value at-or-below 50
Increase Depth value as you Zoom In
2) Julia
Real Constant - try values around -110
Imaginary Constant - try values around 25
Keep the Depth value at-or-below 50
Increase Depth value as you Zoom In
3) Magnetism
Real Constant - try values around 400
Imaginary Constant - try values around 0
Keep the Depth value at-or-below 50
4) LambdaExpZ (Lambda Exponent Z)
Lambda Constant - try values around 100
Keep the Depth value at-or-below 50
5) LambdaCosZ (Lambda Cosize Z)
Lambda Constant - try values around 100
Keep the Depth value at-or-below 50
Increase Depth value as you Zoom In
6) Biomorph
Real Constant - try values around 50
Imaginary Constant - try values around 0
Keep the Depth value at-or-below 50
@endnode
@node specialplasmanotes "Special Plasma notes"
The "Plasma" fractal type operates differently that all the other
types:
- "Plasma" is completely random in nature, and as such does
not have any X/Y-Coordinates. In fact, the X/Y Coordinates
window is disabled when you select this fractal type
- The "Plasma" fractal is based completely on the existing screen
palette when the "Draw" button is selected. Random colors (within
the screen palette) are selected as starting points. The generation
of the "Plasma" image is based upon averaged colors in relation to
these starting points
Note that these averaged colors are obtained via "best match"
comparisons with the screens palette. The current screen palette
is NOT modified by "Plasma"
Therefore, to obtain the BEST results, it is highly recommended that
you set up the screen palette with spreads of two to four colors
before starting the "Plasma" draw. My PaletteTool program is very
handy for doing this
- The "Depth" slider does not relate to "iterative depth", but rather
the degree to which the color "randomization" will deviate. For
example, if the Depth is set to 10, the randomized colors will deviate
only within 10 Red/Green/Blue values (out of 256 possible)
Assuming you've set up a screen palette with just a few color spreads,
I've found that values between 250 and 350 yield the best results
- Plasma fractals are excellent for use with color cycling. For the
best results:
- Set up a spread between the first usable palette color and
the last usable palette color (try using White (R/G/B = 255)
and Blue (B = 255; R/G = 0))
- Render the Plasma fractal
- Rotate the palette a few colors in either direction. Create
another spread which eases the transition between the White and
Blue "boundry". What you are trying to accomplish here is a
completely "smooth" transition of color within the palette
- Now cycle the palette
You can experiment with rendering the Plasma fractal with the palette
set to a spread between 2 colors (as indicated above), and then alter
the palette once the Plasma fractal is rendered
As with all the other Fractal types, experiment to find the best results
for you!
@endnode
@node explanation "Explanation of the Fractal user interface"
Fractal consists of three separate (but related) windows:
@{"Controls" link controlswindow} - the primary user interface
@{"Coordinates" link coordinateswindow} - display and input of X/Y coordinate values
@{"Fractal" link fractalwindow} - where all the drawing occurs
this is also called the "Draw" window
@endnode
@node controlswindow "Controls Window"
The Controls window contains the following items:
@{"Type" beep 0} - Key equivalent is "t" or "T"
Cycle gadget indicating the type of fractal
to be drawn:
Mandelbrot
Julia (Julia Set)
Magnetism
LambdaExpZ (Lambda Exponent Z)
LambdaCosZ (Lambda Cosize Z)
Biomorph
Plasma
Change the type by left-clicking the gadget,
or pressing the key equivalent ("t" or "T")
@{"Depth" beep 0} - Slider gadget indicating the "iterative depth"
limits of the drawing area
The higher the Depth, the greater the detail
The higher the Depth, the longer a Draw takes
See "Special Plasma notes" regarding how the
Depth control is interpreted for this fractal
type
@{"RealC" beep 0} - Slider gadget indicating the "Real number"
constant value used Julia, Magnetism, and
Biomorph fractal computation
Slider value is the Real Number constant
multiplied by 100. For example, if the
slider value is 134, the actual constant
value used will be 1.34
Disabled for all other fractal types
@{"ImagC" beep 0} - Slider gadget indicating the "Imaginary
number" constant value used Julia, Magnetism,
and Biomorph fractal computation
Slider value is the Imaginary Number constant
multiplied by 100. For example, if the
slider value is 134, the actual constant
value used will be 1.34
Disabled for all other fractal types
@{"Lmbda" beep 0} - Slider gadget indicating the "Lambda" constant
value used in LambdaExpZ and LambdaCosZ
fractal computation
Slider value is the Lambda constant
multiplied by 100. For example, if the
slider value is 134, the actual constant
value used will be 1.34
Disabled for all other fractal types
@{"Draw" beep 0} - Key equivalent is "d" or "D"
Renders a fractal of the selected "Type"
the Fractal (Draw) window, based upon the
parameters in the Controls window
@{"Pause" beep 0} - Key equivalent is "p" or "P"
Pauses a "Draw" action
To resume a paused "Draw", press the "Draw"
button
To terminate the current "Draw", press the
"Stop" button
@{"Stop" beep 0} - Key equivalent is "s" or "S"
Stops an in-progress Draw action
@{"Center" beep 0} - Key equivalent is "c" or "C"
Allows you to establish a new center point
for the Fractal display (i.e,. X/Y coords).
A.K.A. Panning
Disabled for the Plasma fractal type
----------------------------------------------
To use: 1) Select the Center button
2) Move the pointer to the Fractal
draw window
3) Click and release the left mouse
button
This will cause a cross-hair to
appear in the window
4) Move the cross-hair with the
pointer, until it is over the spot
on the image which you wish to be
the new "center"
5) Click the left mouse button to
"lock" the new center
At this point, the X/Y coordinates will be
updated and an automatic draw is initiated
----------------------------------------------
@{"X-Y" beep 0} - Key equivalent is "x" or "X"
Opens/Closes the Coordinates window
Disabled for the Plasma fractal type
@{"Zoom In" beep 0} - Key equivalent is "i" or "I"
Allows you to zoom into (i.e., enlarge) a
rectangular area on the Draw window.
Disabled for the Plasma fractal type
----------------------------------------------
To use: 1) Select the Zoom In button
2) Move the pointer to the Fractal
draw window
3) Select (left mouse button) the
upper left corner of the area
you want to zoom into
4) Release the mouse button
5) Moving the pointer will cause a
dashed-line rectangle to appear
This rectangle is the area which
will be "zoomed into"
6) When the rectangle is the desired
size, click the left mouse button
to "lock" the zoom
At this point, the X/Y coordinates will be
updated and an automatic draw is initiated
----------------------------------------------
@{"Save" beep 0} - Key equivalent is "v" or "V"
Allows you to save an IFF/ILBM file containing
the current Fractal (Draw) window image
You are prompted to enter the location and
name of the "save" file
Select "Cancel" to cancel the save
@{"Zoom Out" beep 0} - Key equivalent is "o" or "O"
Allows you to zoom out of the currently
defined X/Y coordinate
As with Zoom In, the X/Y coordinates are
updated, and an automatic draw is initiated
The degree of "zoom out" can be controlled
via the cycle gadget (1->10) immediately to
the right of the "Zoom Out" button
Disabled for the Plasma fractal Type
@{"I" beep 0} - Causes the Controls/Coordinates window(s)
to iconify
Once iconified, selecting the "Open" button
will restore the window(s) to their previous
size/position/state
Note that the iconfied window can be moved!
@{"?" beep 0} - Opens an info requestor
@endnode
@node coordinateswindow "Coordinates Window"
The Coordinates window contains the following items:
@{"Xmin" beep 0}
@{"Xmax" beep 0}
@{"Ymin" beep 0}
@{"Ymax" beep 0} - Four string gadgets showing the numerical
limits of the drawing area
The X axis is horizontal
(left->right = min->max)
The Y axis is vertical
(bottom->top = min->max)
Can be used for direct entry of X/Y limits
-----------------------------------------
Also updated when using the Zoom In, Zoom
Out, and Center functions
-----------------------------------------
--------------------------------------------
After manually updating the X/Y limits,
select the Draw button to see the new image
--------------------------------------------
The program will not allow a min >= max, and
a max <= min. It also limits the ability
to go way outside the X/Y values of the
startup fractal image
@endnode
@node fractalwindow "Fractal (Draw) Window"
The Fractal (Draw) window is:
- Where all fractal images are drawn
- Re-sizable only when a "Draw" is not in progress
- Erased when re-sized
@endnode
@node icontooltypes "Icon Tooltypes"
Fractal recognizes the following Tooltypes within it's icon:
MAIN_X=<number> - The X-coordinate at which the Controls
window will initially open
MAIN_Y=<number> - The Y-coordinate at which the Controls
window will initially open
DRAW_X=<number> - The X-coordinate at which the Fractal (Draw)
window will initially open
DRAW_Y=<number> - The Y-coordinate at which the Fractal (Draw)
window will initially open
@endnode
@node credits "Credits"
The GUI for Fractal was developed using Jan van den Baards' wonderful
GadToolsBox
Thanks to the KreuzerSoft support team
Thanks to the Nations Capital Amiga Users Group (NCAUG)
Thanks to Commodore for the Amiga; a truly amazing machine!
Major thanks to Dave at Buried Treasure in Rockville, MD
*********************************************************************
** Please patronize your local Amiga dealers (like Dave), everyone **
** **
** Most of these people are NOT making tons of $$$$, so if you'd **
** like to keep a local presence in your area, GO BUY SOMETHING! **
*********************************************************************
@endnode
@node contactingtheauthor "Contacting the Author"
I'd really like to hear any feedback you have regarding Fractal
I can be reached via any of the following methods:
- tkreuzer@delphi.com on the Internet
- T.KREUZER on GEnie
- via regular mail at: 6711A N. Washington Blvd.
Arlington, VA 22213
@endnode
@node legalstuff "Legal Stuff"
Fractal Version 1.3
Copyright
1994 by Timothy B. Kreuzer. All rights reserved.
You are hereby granted the freedom to distribute Fractal IF, AND ONLY
IF the following rules are followed:
- This doc file MUST be kept with the executable(s), and must
include the above copyright notice.
- You may NOT charge ANY fee for this program, other than the basic
cost of distribution media and/or BBS access. Of course if
you want to pursue selling this, feel free drop me a line.
Fred Fish is hereby granted permission to include this program (and it's
accompanying documentation) in his excellent collection of Amiga software.
@endnode
@node kreuzersoftproducts "KreuzerSoft Products"
The following KreuzerSoft projects are (hopefully) available on a BBS
near you:
PST V1.0a - Public Screen utility for 3.0/AGA
PaletteTool V1.4 - Public screen palette program for 3.0/AGA
LyapunovSpace V1.2 - Lyapunov fractal program for 3.0/AGA
Terrain V1.1 - 3-D fractal terrain program for 3.0/AGA
FindColor V1.0a - "Color-by-Name" selector for 3.0/AGA
Worm V1.1 - Port of SUN-Unix graphic toy for all Amigas
DLA - Diffusion Limited Aggregation simulation for
all Amigas
Jimi - 8-color Jimi Hendrix image for your Workbench.
MemTool - Memory monitor tool for the Workbench
Reminder V1.1 - Timed reminder tool for the Workbench
All for the incredibly low, low price of FREE!
@endnode